import JSEncrypt from 'jsencrypt';
import config from '@/config'
// 密钥对：优先使用 `config` 中配置的 rsaPublicKey / rsaPrivateKey，方便在不同环境下替换
const publicKey = config.rsaPublicKey || 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==';
// 注意：前端存放私钥存在安全风险，仅在和后端约定的受控场景使用
const privateKey = config.rsaPrivateKey || '';

// 加密（使用公钥）
export function encrypt(txt){
  const encryptor = new JSEncrypt();
  encryptor.setPublicKey(publicKey);
  return encryptor.encrypt(txt);
};

// 解密（使用私钥）
export function decrypt(txt){
  if (!privateKey) {
    console.warn('RSA privateKey not configured, cannot decrypt');
    return null;
  }
  const encryptor = new JSEncrypt();
  encryptor.setPrivateKey(privateKey);
  return encryptor.decrypt(txt);
};
